package com.ciei.dpagm.common.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;

import java.util.Arrays;

/**
 * 是否一直显示根路由
 *
 * @author kiho
 * @date 2022/11/17
 */
public enum RightAlwaysShowEnum {

    /**
     * 没有子路由时，根路由也不显示（默认）
     */
    MAY_SHOW(0, false),

    /**
     * 总是显示根路由
     */
    ALWAYS_SHOW(1, true),
    ;

    @EnumValue
    private Integer value;

    private boolean isAlwaysShow;

    RightAlwaysShowEnum(Integer value, boolean isAlwaysShow) {
        this.value = value;
        this.isAlwaysShow = isAlwaysShow;
    }

    public Integer getValue() {
        return value;
    }

    public boolean isAlwaysShow() {
        return isAlwaysShow;
    }

    public static boolean getBooleanByValue(Integer value) {
        return Arrays.stream(values())
                .filter(alwaysShowEnum -> alwaysShowEnum.getValue().equals(value))
                .map(RightAlwaysShowEnum::isAlwaysShow)
                .findFirst()
                .orElse(false);
    }
}
